﻿using System;
using System.Collections.Generic;
using NTTDATA.BEENChina.ResultCertification.Result;

namespace NTTDATA.BEENChina.ResultCertification.DataStore
{
    interface IDataSource
    {
        /// <summary>
        /// 得到autobackup上所有的store表名
        /// </summary>
        /// <returns></returns>
        IEnumerable<string> GetTableNames(string prefixName, string servercode = null);

        /// <summary>
        /// 已经纳品的受番
        /// </summary>
        /// <param name="dateFrom"></param>
        /// <param name="dateTo"></param>
        /// <param name="distriwkTableName"></param>
        /// <returns></returns>
        IEnumerable<OrderData> GetCompleteOrdes(DateTime dateFrom, DateTime dateTo, string distriwkTableName);

        /// <summary>
        /// 取得子画像录入结果
        /// </summary>
        /// <param name="storeTableName"></param>
        /// <param name="orderId"></param>
        /// <param name="categoryIds"></param>
        /// <returns></returns>
        List<ChildImage> GetChildImageObjects(string storeTableName, string orderId, List<string> categoryIds);

        List<ChildImage> GetChildImageObjects(string storeTableName, string orderId, string categoryId);

        /// <summary>
        /// 取得store表对应的所有的不重复的cagegoryids
        /// </summary>
        /// <param name="storeTableName"></param>
        /// <param name="orderId"></param>
        /// <returns></returns>
        List<string> GetCategoryIdsFromChildImage(string storeTableName,string orderId);

        /// <summary>
        /// 补充录入结果
        /// </summary>
        /// <param name="childImage"></param>
        /// <returns></returns>
        ChildImage CompleteOpId(ChildImage childImage);


        string GetFromName(string formId, string customerId);


        string GetCategoryName(string categoryId);
    }
}
